POČÍTAČ A ARDUINO UNO 9

Vágner Vlastimil

    Občas potřebuji  měřit současně teplotu a vlhkost tak že jsem se rozhodl využít modul Arduino Uno s čidlem AM2302.  Pro zobrazování hodnot jsem zvolil dvě možnosti zobrazení pro jedno zobrazení hodnot je použita sériová komunikace s modulem SIC1602A20 a zobrazení na znakovém LCD displej 2 x 16 znaků[1]. Druhá možnost je zobrazení naměřených hodnot na monitoru PC s možným uložením naměřených dat do souboru, v tomto případě Arduino komunikuje s počítačem převodníkem USB/COM s CH340 osazeným na modulu Arduino Uno, nebo může být použit stejný externí převodník připojený na desku Arduina do vývodů  konektoru označených RX, TX a GND. Uvedené programy využívají knihovny jejichž názvy jsou v samotných programech jde o knihovnu pro AM2302 „DHT“ a knihovnu pro sériovou komunikaci s LCD znakovými displeji „Softwareserial“.

 

SNÍMAČ AM2302

    Snímač má shodné parametry komunikace jako snímač DHT22, napájení snímače může být v rozsahu 3.3V – 5V. Při napájení napětím 3.3V je možné mít čidlo do vzdálenosti  od mikrokontroléru 1m v každém případě je nutné osadit mezi kladné napájecí napětí čidla PIN(1)  a datový PIN(2) snímače rezistor 10K. Při napájení čidla napětím 5V je maximální možná délka kabelu 30m „odzkoušeno 25m“ a mezi kladné napájecí napětí čidla PIN(1) a datový PIN(2) snímače je osazen rezistor 5K1. V tomto případě je možné hodnotu rezistoru upravovat dokud není komunikace úspěšná (v tomto případě je vhodné použít trim 10K a měnit na něm hodnotu odporu dokud není komunikace úspěšná a po nalezení vhodné hodnoty tuto pak změříme a nahradíme pevným rezistorem) více informací je možno nalézt v dokumentaci k čidlu a na internetu. V současné době  mám čidlo osazeno na univerzální vrtané destičce společně s rezistorem a připojeno kabelem UTP ve sledovaném objektu k desce Arduino Uno. Schéma obou variant zapojení je na Obrázcích Obr.č.01 a Obr.č02 v obou zapojeních je po odladění programů použito externí napájení desky Arduino Uno ze zdroje 7VDC – 12VDC. Připojení datového vodiče snímače AM2302, DHT22 může být dle potřeby na jiný datový PIN desky Arduino UNO, stejně tak může být pro komunikaci s modulem pro sériovou komunikaci SIC1602A20 pro LCD displej použit jiný datový PIN Arduino UNO. Pouze je nutné změnu PINU provést i v programu pro Arduino. Znakový LCD displej může být také použitý 2x20, 4x20 znaků s použitým komunikačním převodníkem pro sériovou komunikaci a úpravou programu pro znakový LCD displej 4x20 znaků zobrazovat další hodnoty na zbývajících řádcích toto je čistě individuální věc. PŘI  KOMUNIKACI  S  LCD DISPLEJEM  MUSÍME  MIT  NA  NĚM  NASTAVENOU  SHODNOU KOMUNIKACI  CO  JE  ZADANÁ  V  PROGRAMU  PRO  ARDUINO TJ.2400BD  A  NA DESCE  ŘADIČE  NASTAVENU  KLIDOVOU  ÚROVEŇ  „T“.  TO  SAMÉ  PLATÍ  I  O SHODNÉ  KOMUNIKAČNÍ  RYCHLOSTI  MEZI  DESKOU ARDUINO  A  TERMINÁLEM  PRO  KOMUNIKACI  S  PC.

                          

               

              

 

 

 

 

 

 

PROGRAMY

    Programy pro Arduino jsou uloženy v adresáři ARDUINO program pro zobrazování  naměřených hodnot na LCD displeji má název „program_2x16_lcd_AM2302.ino“ program pro zobrazování a možné ukládání naměřených hodnot na počítači PC má název  pc_dht_teplota.ino“. Program pro počítač má název „ARDUINO“ a je uložen v adresáři POČÍTAČ.

 

 

CELKOVÝ POPIS PROGRAMU PRO POČÍTAČ ARDUINO.EXE

     Program je určený pro sériovou komunikaci jde o jednoduchý program komunikačního terminálu. Po spuštění programu jako první volíme sériový COM  PORT který je shodný jako pro editor programování Arduina, číslo COM portu je nastaveno při instalaci ovladače převodníku USB/COM-TTL CH340 systémem. Změnu COM portu provedeme v textovém okně pod nápisem „NAVOLENÝ SÉRIOVÝ PORT „COM“, změnu provedeme tak že hodnotu kterou chceme změnit si označíme stisknutým levým tlačítkem myši „hodnota se zabarví modře“ a tuto přepíšeme. !Pozor změnu provádíme při zavřeném COM portu!!. Po nastavení sériového portu, nebo jiného parametru klikneme na tlačítko „OTEVŘÍT COM“ a v textovém okně pod nápisem „ZÁPIS TEXT“ zadáme hodnoty. Kliknutím levým tlačítkem myši na tlačítko s popisem „ODESLAT ZÁPIS TEXT“ odešleme data zapsaná  v textovém okně „ZÁPIS TEXT“. Pokud je program v koncovém zařízení napsán tak že zasílá data do počítače tyto se zobrazují v textovém okně s nadpisem „ČTENÍ TEXT“, odeslaná a přijatá data před smazáním v oknech „ZÁPIS TEXT ČTENÍ TEXT“ si můžeme uložit na disk pro pozdější zpracování kliknutím levým tlačítkem myši na tlačítko s popisem „ULOŽIT ZÁPIS/ČTENÍ“. Kliknutím levým tlačítkem myši na tlačítko s popisem „SMAZAT ČTENÍ TEXT“ smažeme všechna data v okně „ČTENÍ TEXT“, tyto si můžeme pravidelně mazat při zaplnění textového okna „ČTENÍ TEXT“. Kliknutím levým tlačítkem myši na tlačítko s popisem „SMAZAT ZÁPIS TEXT“ smažeme všechna data v okně „ZÁPIS TEXT“. Kliknutím levým tlačítkem myši na tlačítko s popisem „SMAZAT VŠE“ smažeme všechna data v okně „ČTENÍ TEXT a ZÁPIS TEXT“, kliknutím levým tlačítkem myši na tlačítko s popisem „NOVÉ PARAMETRY COM“ můžeme měnit parametry sériového portu, po změně klikneme levým tlačítkem myši na tlačítko „OTEVŘÍT COM“. Kliknutím levým tlačítkem myši na tlačítko s popisem „ZAVŘÍT COM“ sériový port zavřeme, kliknutím levým tlačítkem myši na tlačítko s popisem „UKONČENÍ PROGRAMU“ program ukončíme stejně tak kliknutím levým tlačítkem myši na „X“ v horní liště. Označením levým tlačítkem myši v oknech s popisy DTR, RTS zapínáme výstupní linky odznačením oken DTR, RTS výstupní linky vypínáme, stavy vstupních linek „CTS, DSR, DCD, RI“ se automaticky načítají pokud jsou vstupní linky připojeny a ovládány koncovým zařízením připojeným k PC.

 

NAČÍTÁNÍ HODNOT Z ARDUINO A ZOBRAZOVÁNÍ NA MONIOTORU PC

     Po propojení modulu Arduino s počítačem PC a snímačem AM2302,DHT22 na počítači spustíme program ARDUINO.EXE, zadáme v případě nutné parametry nejčastější volba je změna COM portu a spustíme program dle popisu výše. Po spuštění načítání se v okně „“ČTENÍ TEXT“ začnou zobrazovat naměřené hodnoty teploty a vlhkosti. Je možné použít i jiný terminálový program pro komunikaci s Arduino při zobrazování hodnot teploty a vlhkosti ze snímače.

    

    

      Úvodní obrazovka po spuštění programu zde označená změna COM PORTU

 

   

        Naměřené hodnoty zde teplota

 

   

       Naměřené hodnoty zde posunuto posuvníkem na hodnotu vlhkosti

 

   Testování programu na desce Arduino Uno použit modul pro připojení vodičů, připojení

    Čidla k Arduino do svorkovnice

 

       Použité čidlo AM2302 v kontaktním poli testování programů

 

     Celkový pohled na sestavu při testování programů

 

 Zobrazení naměřených hodnot na znakovém LCD displeji 4x20 znaků sériová komunikace

 

 Zobrazení naměřených hodnot na znakovém LCD displeji 2x16 znaků sériová komunikace

 

 Použité prameny :

 Burkhard Kainka elektronika s podporou PC Visuál Basic v praxi

 Podklady pro programy k čidlu AM2302 byli čerpány z internetu

 [1] SNAIL – SHOP převodník pro sériovou komunikaci + LCD displej 2x16 znaků

 Bližší informace :

  vagnervlastimil@seznam.cz